1. Field of the Invention
The present invention is directed toward the field of data storage, and more particularly toward a distributed network data storage system.
2. Art Background
There is an increasing demand for systems that store large amounts of data. Many companies struggle to provide scalable, cost-effective storage solutions for large amounts of data stored in files (e.g., terabytes of data). One type of prior art system used to store data for computers is known as network attached storage (“NAS”). In a NAS configuration, a computer, such as a server, is coupled to physical storage, such as one or more hard disk drives. The NAS server is accessible over a network. In order to access the storage, the client computer submits requests to the server to store and retrieve data.
Conventional NAS technology has several inherent limitations. First, NAS systems are severely impacted by their fundamental inability to scale performance and capacity. Current NAS systems only scale performance within the limits of a single NAS server with a single network connection. Thus, a single NAS server can only scale capacity to a finite number of disks attached to that NAS server. These fundamental limitations of current file storage systems create a variety of challenges. First, customers must use multiple NAS systems to meet capacity and performance requirements. The use of multiple NAS systems requires the customer to manage multiple file systems and multiple NAS system images. These attempts lead to inefficient utilization of storage assets because files must be manually distributed across multiple NAS systems to meet overall capacity and performance requirements. Invariably, this leaves pockets of unused capacity in the multiple NAS systems. Moreover, frequently accessed files, sometimes referred to as hot files, may only be served by a single NAS server, resulting in a bottleneck that impacts performance of the storage system. These issues result in substantially higher management costs to the end-user as well as high acquisition costs to purchase proprietary NAS systems.
A storage area network (“SAN”) is another configuration used to store large amounts of data. In general, a SAN configuration consists of a network of disks. Clients access disks over a network. Using the SAN configuration, the client typically accesses each individual disk as a separate entity. For example, a client may store a first set of files on a first disk in a network, and store a second set of files on a second disk in the SAN system. Thus, this technique requires the clients to manage file storage across the disks on the storage area network. Accordingly, the SAN configuration is less desirable because it requires the client to specifically manage storage on each individual disk. Accordingly, it is desirable to develop a system that manages files with a single file system across multiple disks.